/*
 *   Copyright (c) 2010-2022, SIUFUNG
 */
package net.siufung.market.base.region.mapper.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

/**
 * 行政区域信息
 *
 * @author 陈建峰
 * @since 2022-07-07 14:18:39
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("data_region")
public class Region implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("id")
    @NotNull(message = "主键不能为空!")
    private Integer id;

    /**
     * 区划代码
     */
    @TableField("code")
    @NotBlank(message = "区划代码不能为空!")
    @Length(max=8, message="区划代码长度不大于8!")
    private String code;

    /**
     * 名称
     */
    @TableField("name")
    @NotBlank(message = "名称不能为空!")
    @Length(max=32, message="名称长度不大于32!")
    private String name;

    /**
     * 简称
     */
    @TableField("short_name")
    @Length(max=32, message="简称长度不大于32!")
    private String shortName;

    /**
     * 上级id
     */
    @TableField("parent_id")
    @NotNull(message = "上级id不能为空!")
    private Integer parentId;

    /**
     * 等级
     */
    @TableField("level")
    @NotNull(message = "等级不能为空!")
    private Integer level;

    /**
     * 经度
     */
    @TableField("lng")
    @Length(max=16, message="经度长度不大于16!")
    private String lng;

    /**
     * 纬度
     */
    @TableField("lat")
    @Length(max=16, message="纬度长度不大于16!")
    private String lat;

    /**
     * 次序
     */
    @TableField("sequence")
    private Integer sequence;


}
